﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace MacomberMapSystem.Common.Processing.Attributes
{
    /// <summary>
    /// This class provides the attribute for whether a model is required
    /// </summary>
    [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Interface | AttributeTargets.Delegate, Inherited = false)]    
    public sealed class RequireModelAttribute: Attribute
    {
        private bool _ModelRequired;
        /// <summary>
        /// Initialize a new required model attribute
        /// </summary>
        /// <param name="ModelRequired"></param>
        public RequireModelAttribute(bool ModelRequired)
        {
            this._ModelRequired = ModelRequired;
        }

        /// <summary>
        /// Report the value of our attribute
        /// </summary>
        public bool Value { get { return _ModelRequired; } }
    }
}
